/*
  学习目标：通过指定更加详细的类型
  作用：对泛型添加约束条件，缩小类型范围

  与extends约束条件的区别：
    extends添加约束条件，更加灵活
    通过指定更加详细的类型 不够灵活

  使用场景：
    1. 如果已知参数的类型，就使用更加详细的类型
    2. 如果不知道到参数的类型， 使用extneds添加约束条件
 
*/

function getValue<T>(iamges: T[]): T[] {
  console.log('value.length  ----->  ', iamges.length);

  return iamges;
}

const list = getValue([]);
// 会报错，没有name灵活
// const obj = getValue({ length: 1231 });
